import { IMessage } from "../model/Message";
import { ISession } from "../model/Session";

/**
 * 发送消息参数
 */
export interface IServiceCloudImMsgSendParams {
  account: string;
  token: string;
  msg: IMessage;
}

/**
 * 发送消息结果
 */
export interface IServiceCloudImMsgSendResult {
  msg: IMessage;
  session: ISession;
}

/**
 * 单方面删除消息
 */
export interface IServiceCloudImMsgDeleteParams {
  account: string;
  token: string;
  id: string;
}

/**
 * 拉取历史消息参数
 * @params from 
 * @params to 同上
 */
export interface IServiceCloudImMsgFetchParams {
  /**
   * 如果不传则表示拉取所有与我有关的单聊消息
   */
  from?: string;
  to?: string;
  limit: number;
  begintime?: number;
  endtime: number;
  /**
   * 时间排序
   * 1 升序
   * 2 降序
   */
  reverse: 1 | 2;
}

/**
 * 拉取历史消息结果
 */
export interface IServiceCloudImMsgFetchResult {
  msgs: IMessage[];
  /**
   * 消息总条数
   */
  size: number;
  /**
   * 剩余未获取数量
   */
  have: number;
}
